<?php
class EstadoVehiculosController extends AppController {

	var $name = 'EstadoVehiculos';
	var $uses = array('EstadoVehiculo', 'Vehiculo');	
	var $helpers = array('Html', 'Form' );
	
	function beforeFilter() {		
		$this->checkSession();
		$this->MenuCreator->setModulo($this->name);
		$this->set('menu', $this->getMenuElements());		
	}

	function index() {
		if(!empty($this->data)) {
			$condicion = "vehiculo_id = '".$this->data['EstadoVehiculo']['placas']."'";
		}
		else{
			$condicion = '';
		}
		
		$this->EstadoVehiculo->recursive = 0;
		$this->set('estados', $this->paginate('EstadoVehiculo', $condicion));		
		$this->set('vehiculos', $this->Vehiculo->generateList());			
		$this->set(compact('vehiculos'));							
	}
	
	function ver($id = null) {				
		if(!$id) {
			$this->Session->setFlash('Estado Invalido');
			$this->redirect(array('action'=>'index'), null, true);
		}
		$this->set('Estado', $this->EstadoVehiculo->read(null, $id));
	}

	function agregar() {
		if(!empty($this->data)) {
			$this->cleanUpFields();
			$this->EstadoVehiculo->create();
			
			if($this->EstadoVehiculo->save($this->data)) {
				$this->Session->setFlash('El estado ha sido agregado');
				$this->redirect(array('action'=>'index'), null, true);
			} else {
				$this->Session->setFlash('El estado no pudo ser agregado.');
			}
		}
		else{
			$this->set('vehiculos', $this->Vehiculo->generateList());			
			$this->set(compact('vehiculos'));
		}
	}

	function editar($id = null) {	
		if(!$id && empty($this->data)) {
			$this->Session->setFlash('Estado Invalido');
			$this->redirect(array('action'=>'index'), null, true);
		}
		if(!empty($this->data)) {
			$this->cleanUpFields();
			if($this->EstadoVehiculo->save($this->data)) {
				$this->Session->setFlash('El estado del vehiculo ha sido actualizado');
				$this->redirect(array('action'=>'index'), null, true);
			} else {
				$this->Session->setFlash('El estado del vehiculo no pudo ser agregado.');
			}
		}
		if(empty($this->data)) {
			$this->set('vehiculos', $this->Vehiculo->generateList());			
			$this->set(compact('vehiculos'));			
			$this->data = $this->EstadoVehiculo->read(null, $id);
		}
	}

	function eliminar($id = null) {
		if(!$id) {
			$this->Session->setFlash('Id invalido para el estado');
			$this->redirect(array('action'=>'index'), null, true);
		}
		if($this->EstadoVehiculo->del($id)) {
			$this->Session->setFlash('El estado #'.$id.' ha sido eliminado');
			$this->redirect(array('action'=>'index'), null, true);
		}
	}
}
?>